﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AccesoDatos.Manejador;
using AccesoDatos;
using System.Diagnostics;
using Infragistics.Win.UltraWinGrid;

namespace RMA.Pantallas
{
    public partial class frmReporteAntiguedad : Form
    {
        public frmReporteAntiguedad()
        {
            InitializeComponent();
        }

        private void frmReporteAntiguedad_Load(object sender, EventArgs e)
        {
            CargaCatalogos();
            btnExportar.Enabled = false;
            btnDetalle.Enabled = false;
        }
        public void CargaCatalogos()
        {
            //DataTables
            DataTable dtEstatus = null;
            DataTable dtProveedor = null;
            

            //Objetos Manejadores
            Manejador_Status objS = new Manejador_Status();
            Manejador_proveedores objP = new Manejador_proveedores();
            


            //Operaciones

            dtEstatus = objS.RegresaListadoEstatus();
            cbStatus.DataSource = dtEstatus;
            cbStatus.ValueMember = "estatus_id";
            cbStatus.DisplayMember = "estatus_descripcion";
            cbStatus.SelectedIndex = -1;

            dtProveedor = objP.RegresaProveedores();
            cbProveedor.DataSource = dtProveedor;
            cbProveedor.DisplayMember = "Nombre";
            cbProveedor.ValueMember = "CodPro";
            cbProveedor.SelectedIndex = -1;

            
        }

        private void btnGenerar_Click(object sender, EventArgs e)
        {
            GeneraReporte("C");
        }
        public void ExportarExcel()
        {
            string dr = dialogdireccion() + "//ReporteAntiguedad" + (DateTime.Now.Date.ToShortDateString()).Replace("/", "") + ".xls";
            try
            {
                ugExcel.Export(ugAntiguedad, dr);
                Process.Start(dr);

            }
            catch (Exception) { }
        }
        public string dialogdireccion()
        {
            FolderBrowserDialog folder = new FolderBrowserDialog();
            string direccion = "";
            if (folder.ShowDialog() == DialogResult.Cancel)
                return direccion;
            direccion = folder.SelectedPath.ToString();
            return direccion;
        }

        private void chkProveedores_CheckedChanged(object sender, EventArgs e)
        {
            if (chkProveedores.Checked)
            {
                cbProveedor.Enabled = false;
            }
            else
            {
                cbProveedor.Enabled = true;
            }
        }

        private void chkStatus_CheckedChanged(object sender, EventArgs e)
        {
            if (chkStatus.Checked)
            {
                cbStatus.Enabled = false;
            }
            else
            {
                cbStatus.Enabled = true;
            }
        }

        private void btnExportar_Click(object sender, EventArgs e)
        {
            ExportarExcel();
        }
        public void AplicarFormato()
        {
            UltraGridColumn ColFormato = this.ugAntiguedad.DisplayLayout.Bands[0].Columns["Importe"];
            ColFormato.Format = "C";
            
        }
        public void GeneraReporte(string strTipo)
        {
            Manejador_Reportes objR = new Manejador_Reportes();
            DataTable dtAnt = new DataTable();
            string strCodProv = "";
            string strStatus = "";

            if (cbProveedor.SelectedIndex != -1)
            {
                strCodProv = cbProveedor.SelectedValue.ToString();
            }
            else
            {
                strCodProv = "";
            }
            if (cbStatus.SelectedIndex != -1)
            {
                strStatus = cbStatus.SelectedValue.ToString();
            }
            else
            {
                strStatus = "";
            }

            try
            {
                dtAnt = objR.RegresaDatosRepAntiguedad(strCodProv, strStatus, strTipo);
                ugAntiguedad.DataSource = dtAnt;
                btnExportar.Enabled = true;
                btnDetalle.Enabled = true;
                AplicarFormato();

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btnDetalle_Click(object sender, EventArgs e)
        {
            GeneraReporte("D");
        }

        

       


        
    }
}
